<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Hardware Abstraction Layer (HAL)</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen_style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><a href="http://www.cypress.com/"><img alt="Logo" src="logo.png"/></a></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Hardware Abstraction Layer (HAL)</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('group__group__hal__impl__availability.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a>  </div>
  <div class="headertitle"><div class="title">HAL Driver Availability Macros<div class="ingroups"><a class="el" href="group__group__hal__impl.html">CAT1 Implementation Specific</a></div></div></div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">General Description</h2>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:gafd2c6be6a2b5da41f85c8d08bc79c2ca"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__hal__impl__availability.html#gafd2c6be6a2b5da41f85c8d08bc79c2ca">CYHAL_API_VERSION</a>&#160;&#160;&#160;(2)</td></tr>
<tr class="memdesc:gafd2c6be6a2b5da41f85c8d08bc79c2ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying the major version number of the HAL API.  <a href="group__group__hal__impl__availability.html#gafd2c6be6a2b5da41f85c8d08bc79c2ca">More...</a><br /></td></tr>
<tr class="separator:gafd2c6be6a2b5da41f85c8d08bc79c2ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa097ddb6e6636ab99420a10fd4d7f755"><td class="memItemLeft" align="right" valign="top"><a id="gaa097ddb6e6636ab99420a10fd4d7f755" name="gaa097ddb6e6636ab99420a10fd4d7f755"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_HWMGR</b>&#160;&#160;&#160;(1)</td></tr>
<tr class="memdesc:gaa097ddb6e6636ab99420a10fd4d7f755"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the HwMgr driver is available for the current device. <br /></td></tr>
<tr class="separator:gaa097ddb6e6636ab99420a10fd4d7f755"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5b7df65b88b9c989f06505501808208b"><td class="memItemLeft" align="right" valign="top"><a id="ga5b7df65b88b9c989f06505501808208b" name="ga5b7df65b88b9c989f06505501808208b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_GPIO</b>&#160;&#160;&#160;(1)</td></tr>
<tr class="memdesc:ga5b7df65b88b9c989f06505501808208b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the GPIO driver is available for the current device. <br /></td></tr>
<tr class="separator:ga5b7df65b88b9c989f06505501808208b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga041bcd4b56db60b5d357c4235e3d40ec"><td class="memItemLeft" align="right" valign="top"><a id="ga041bcd4b56db60b5d357c4235e3d40ec" name="ga041bcd4b56db60b5d357c4235e3d40ec"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_INTERCONNECT</b>&#160;&#160;&#160;(1)</td></tr>
<tr class="memdesc:ga041bcd4b56db60b5d357c4235e3d40ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the Interconnect driver is available for the current device. <br /></td></tr>
<tr class="separator:ga041bcd4b56db60b5d357c4235e3d40ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab7b277f7243da4199aaf63f304dbb213"><td class="memItemLeft" align="right" valign="top"><a id="gab7b277f7243da4199aaf63f304dbb213" name="gab7b277f7243da4199aaf63f304dbb213"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_CLOCK</b>&#160;&#160;&#160;(1)</td></tr>
<tr class="memdesc:gab7b277f7243da4199aaf63f304dbb213"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the Clock driver is available for the current device. <br /></td></tr>
<tr class="separator:gab7b277f7243da4199aaf63f304dbb213"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae8d9f6c5a92ee3bcf678bfb8e93397cf"><td class="memItemLeft" align="right" valign="top"><a id="gae8d9f6c5a92ee3bcf678bfb8e93397cf" name="gae8d9f6c5a92ee3bcf678bfb8e93397cf"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_SYSTEM</b>&#160;&#160;&#160;(1)</td></tr>
<tr class="memdesc:gae8d9f6c5a92ee3bcf678bfb8e93397cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the System driver is available for the current device. <br /></td></tr>
<tr class="separator:gae8d9f6c5a92ee3bcf678bfb8e93397cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac94b302c6f8ac6cfa4e3584795822eb6"><td class="memItemLeft" align="right" valign="top"><a id="gac94b302c6f8ac6cfa4e3584795822eb6" name="gac94b302c6f8ac6cfa4e3584795822eb6"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_ETHERNET</b>&#160;&#160;&#160;(0)</td></tr>
<tr class="memdesc:gac94b302c6f8ac6cfa4e3584795822eb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the Ethernet driver is available for the current device. <br /></td></tr>
<tr class="separator:gac94b302c6f8ac6cfa4e3584795822eb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5d668f66e4de981f1b6016b0b9842e97"><td class="memItemLeft" align="right" valign="top"><a id="ga5d668f66e4de981f1b6016b0b9842e97" name="ga5d668f66e4de981f1b6016b0b9842e97"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_EZI2C</b>&#160;&#160;&#160;(_CYHAL_DRIVER_AVAILABLE_SCB)</td></tr>
<tr class="memdesc:ga5d668f66e4de981f1b6016b0b9842e97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the EzI2C driver is available for the current device. <br /></td></tr>
<tr class="separator:ga5d668f66e4de981f1b6016b0b9842e97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0303725f9eb5eb434e9c44e571522011"><td class="memItemLeft" align="right" valign="top"><a id="ga0303725f9eb5eb434e9c44e571522011" name="ga0303725f9eb5eb434e9c44e571522011"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_I2C</b>&#160;&#160;&#160;(_CYHAL_DRIVER_AVAILABLE_SCB)</td></tr>
<tr class="memdesc:ga0303725f9eb5eb434e9c44e571522011"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the I2C driver is available for the current device. <br /></td></tr>
<tr class="separator:ga0303725f9eb5eb434e9c44e571522011"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2864729e542a1b4f9aba48579ee6b654"><td class="memItemLeft" align="right" valign="top"><a id="ga2864729e542a1b4f9aba48579ee6b654" name="ga2864729e542a1b4f9aba48579ee6b654"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_SPI</b>&#160;&#160;&#160;(_CYHAL_DRIVER_AVAILABLE_SCB)</td></tr>
<tr class="memdesc:ga2864729e542a1b4f9aba48579ee6b654"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the SPI driver is available for the current device. <br /></td></tr>
<tr class="separator:ga2864729e542a1b4f9aba48579ee6b654"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4fde53d7b3403ca345ea93986aed7312"><td class="memItemLeft" align="right" valign="top"><a id="ga4fde53d7b3403ca345ea93986aed7312" name="ga4fde53d7b3403ca345ea93986aed7312"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_UART</b>&#160;&#160;&#160;(_CYHAL_DRIVER_AVAILABLE_SCB)</td></tr>
<tr class="memdesc:ga4fde53d7b3403ca345ea93986aed7312"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the UART driver is available for the current device. <br /></td></tr>
<tr class="separator:ga4fde53d7b3403ca345ea93986aed7312"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac9caca2293c6a9e6788b022f94884737"><td class="memItemLeft" align="right" valign="top"><a id="gac9caca2293c6a9e6788b022f94884737" name="gac9caca2293c6a9e6788b022f94884737"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_WDT</b>&#160;&#160;&#160;(1)</td></tr>
<tr class="memdesc:gac9caca2293c6a9e6788b022f94884737"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the WDT driver is available for the current device. <br /></td></tr>
<tr class="separator:gac9caca2293c6a9e6788b022f94884737"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae0e73ed13f557e489e6ed79b9b4025a7"><td class="memItemLeft" align="right" valign="top"><a id="gae0e73ed13f557e489e6ed79b9b4025a7" name="gae0e73ed13f557e489e6ed79b9b4025a7"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_TIMER</b>&#160;&#160;&#160;(_CYHAL_DRIVER_AVAILABLE_TCPWM)</td></tr>
<tr class="memdesc:gae0e73ed13f557e489e6ed79b9b4025a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the Timer driver is available for the current device. <br /></td></tr>
<tr class="separator:gae0e73ed13f557e489e6ed79b9b4025a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab3a98cf6a3644b2069a9439764f4f021"><td class="memItemLeft" align="right" valign="top"><a id="gab3a98cf6a3644b2069a9439764f4f021" name="gab3a98cf6a3644b2069a9439764f4f021"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_PWM</b>&#160;&#160;&#160;(_CYHAL_DRIVER_AVAILABLE_TCPWM)</td></tr>
<tr class="memdesc:gab3a98cf6a3644b2069a9439764f4f021"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the PWM driver is available for the current device. <br /></td></tr>
<tr class="separator:gab3a98cf6a3644b2069a9439764f4f021"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae597756d528e2a2a0e5590b66ab15b05"><td class="memItemLeft" align="right" valign="top"><a id="gae597756d528e2a2a0e5590b66ab15b05" name="gae597756d528e2a2a0e5590b66ab15b05"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_QUADDEC</b>&#160;&#160;&#160;(_CYHAL_DRIVER_AVAILABLE_TCPWM)</td></tr>
<tr class="memdesc:gae597756d528e2a2a0e5590b66ab15b05"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the QuadDec driver is available for the current device. <br /></td></tr>
<tr class="separator:gae597756d528e2a2a0e5590b66ab15b05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga210ced42a57d492248d9bdeba661bae2"><td class="memItemLeft" align="right" valign="top"><a id="ga210ced42a57d492248d9bdeba661bae2" name="ga210ced42a57d492248d9bdeba661bae2"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_I2S</b>&#160;&#160;&#160;((((CY_IP_MXAUDIOSS_INSTANCES) &gt; 0) &amp;&amp; (AUDIOSS_I2S || AUDIOSS0_I2S || AUDIOSS0_I2S_I2S)) || ((CY_IP_MXTDM_INSTANCES) &gt; 0))</td></tr>
<tr class="memdesc:ga210ced42a57d492248d9bdeba661bae2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the I2S driver is available for the current device. <br /></td></tr>
<tr class="separator:ga210ced42a57d492248d9bdeba661bae2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1de86b60e8cf0032e67ab331de5ebe4c"><td class="memItemLeft" align="right" valign="top"><a id="ga1de86b60e8cf0032e67ab331de5ebe4c" name="ga1de86b60e8cf0032e67ab331de5ebe4c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_I2S_TX</b>&#160;&#160;&#160;(<a class="el" href="group__group__hal__impl__availability.html#ga210ced42a57d492248d9bdeba661bae2">CYHAL_DRIVER_AVAILABLE_I2S</a>)</td></tr>
<tr class="memdesc:ga1de86b60e8cf0032e67ab331de5ebe4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the TX functionality is available on the I2S driver for the current device. <br /></td></tr>
<tr class="separator:ga1de86b60e8cf0032e67ab331de5ebe4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga76126aa9ec0c7e1eefc09e26a92113ea"><td class="memItemLeft" align="right" valign="top"><a id="ga76126aa9ec0c7e1eefc09e26a92113ea" name="ga76126aa9ec0c7e1eefc09e26a92113ea"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_I2S_RX</b>&#160;&#160;&#160;(<a class="el" href="group__group__hal__impl__availability.html#ga210ced42a57d492248d9bdeba661bae2">CYHAL_DRIVER_AVAILABLE_I2S</a>)</td></tr>
<tr class="memdesc:ga76126aa9ec0c7e1eefc09e26a92113ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the RX functionality is available on the I2S driver for the current device. <br /></td></tr>
<tr class="separator:ga76126aa9ec0c7e1eefc09e26a92113ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8012ab1f5bc286fe9d462b38857631f1"><td class="memItemLeft" align="right" valign="top"><a id="ga8012ab1f5bc286fe9d462b38857631f1" name="ga8012ab1f5bc286fe9d462b38857631f1"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_TDM</b>&#160;&#160;&#160;((((CY_IP_MXAUDIOSS_INSTANCES) &gt; 0) &amp;&amp; (AUDIOSS_I2S || AUDIOSS0_I2S || AUDIOSS0_I2S_I2S)) || ((CY_IP_MXTDM_INSTANCES) &gt; 0))</td></tr>
<tr class="memdesc:ga8012ab1f5bc286fe9d462b38857631f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the TDM driver is available for the current device. <br /></td></tr>
<tr class="separator:ga8012ab1f5bc286fe9d462b38857631f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7821ed9d0fe9377eae54a0e9321f0694"><td class="memItemLeft" align="right" valign="top"><a id="ga7821ed9d0fe9377eae54a0e9321f0694" name="ga7821ed9d0fe9377eae54a0e9321f0694"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_TDM_TX</b>&#160;&#160;&#160;(<a class="el" href="group__group__hal__impl__availability.html#ga8012ab1f5bc286fe9d462b38857631f1">CYHAL_DRIVER_AVAILABLE_TDM</a>)</td></tr>
<tr class="memdesc:ga7821ed9d0fe9377eae54a0e9321f0694"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the TX functionality is available on the TDM driver for the current device. <br /></td></tr>
<tr class="separator:ga7821ed9d0fe9377eae54a0e9321f0694"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab3ad3078832e573d10343b49bb98c504"><td class="memItemLeft" align="right" valign="top"><a id="gab3ad3078832e573d10343b49bb98c504" name="gab3ad3078832e573d10343b49bb98c504"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_TDM_RX</b>&#160;&#160;&#160;(<a class="el" href="group__group__hal__impl__availability.html#ga8012ab1f5bc286fe9d462b38857631f1">CYHAL_DRIVER_AVAILABLE_TDM</a>)</td></tr>
<tr class="memdesc:gab3ad3078832e573d10343b49bb98c504"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the RX functionality is available on the TDM driver for the current device. <br /></td></tr>
<tr class="separator:gab3ad3078832e573d10343b49bb98c504"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab6ff6036bf3f1646f562f687d3341eaf"><td class="memItemLeft" align="right" valign="top"><a id="gab6ff6036bf3f1646f562f687d3341eaf" name="gab6ff6036bf3f1646f562f687d3341eaf"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_DMA</b>&#160;&#160;&#160;((_CYHAL_DRIVER_AVAILABLE_DMA_DMAC) || (_CYHAL_DRIVER_AVAILABLE_DMA_DW))</td></tr>
<tr class="memdesc:gab6ff6036bf3f1646f562f687d3341eaf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the DMA driver is available for the current device. <br /></td></tr>
<tr class="separator:gab6ff6036bf3f1646f562f687d3341eaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0e37b73eca19c580d7f0807747542acc"><td class="memItemLeft" align="right" valign="top"><a id="ga0e37b73eca19c580d7f0807747542acc" name="ga0e37b73eca19c580d7f0807747542acc"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_IPC</b>&#160;&#160;&#160;((CPUSS_IPC_IPC_NR &gt; 0) || (CY_IP_MXIPC_INSTANCES &gt; 0))</td></tr>
<tr class="memdesc:ga0e37b73eca19c580d7f0807747542acc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the IPC driver is available for the current device. <br /></td></tr>
<tr class="separator:ga0e37b73eca19c580d7f0807747542acc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad3e20aa4251aa62dc0371f0615ae3ad3"><td class="memItemLeft" align="right" valign="top"><a id="gad3e20aa4251aa62dc0371f0615ae3ad3" name="gad3e20aa4251aa62dc0371f0615ae3ad3"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_QSPI</b>&#160;&#160;&#160;((CY_IP_MXSMIF_INSTANCES) &gt; 0)</td></tr>
<tr class="memdesc:gad3e20aa4251aa62dc0371f0615ae3ad3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the QSPI driver is available for the current device. <br /></td></tr>
<tr class="separator:gad3e20aa4251aa62dc0371f0615ae3ad3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0e41620de863d089ea326a746cdd0f81"><td class="memItemLeft" align="right" valign="top"><a id="ga0e41620de863d089ea326a746cdd0f81" name="ga0e41620de863d089ea326a746cdd0f81"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_LPTIMER</b>&#160;&#160;&#160;((SRSS_NUM_MCWDT) &gt; 0)</td></tr>
<tr class="memdesc:ga0e41620de863d089ea326a746cdd0f81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the LPTimer driver is available for the current device. <br /></td></tr>
<tr class="separator:ga0e41620de863d089ea326a746cdd0f81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae04cb2342d4832ed58a9ebb501a8ddf2"><td class="memItemLeft" align="right" valign="top"><a id="gae04cb2342d4832ed58a9ebb501a8ddf2" name="gae04cb2342d4832ed58a9ebb501a8ddf2"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_SDHC</b>&#160;&#160;&#160;((CY_IP_MXSDHC_INSTANCES) &gt; 0)</td></tr>
<tr class="memdesc:gae04cb2342d4832ed58a9ebb501a8ddf2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the SDHC driver is available for the current device. <br /></td></tr>
<tr class="separator:gae04cb2342d4832ed58a9ebb501a8ddf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga34d490d013103cd54a492df567f16ad7"><td class="memItemLeft" align="right" valign="top"><a id="ga34d490d013103cd54a492df567f16ad7" name="ga34d490d013103cd54a492df567f16ad7"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_SDIO</b>&#160;&#160;&#160;(((CY_IP_MXSDHC_INSTANCES) &gt; 0) || (_CYHAL_DRIVER_AVAILABLE_SDIO_UDB))</td></tr>
<tr class="memdesc:ga34d490d013103cd54a492df567f16ad7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the SDIO driver is available for the current device. <br /></td></tr>
<tr class="separator:ga34d490d013103cd54a492df567f16ad7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaa024446105f87484845a4037f81d7da"><td class="memItemLeft" align="right" valign="top"><a id="gaaa024446105f87484845a4037f81d7da" name="gaaa024446105f87484845a4037f81d7da"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_SDIO_HOST</b>&#160;&#160;&#160;(<a class="el" href="group__group__hal__impl__availability.html#ga34d490d013103cd54a492df567f16ad7">CYHAL_DRIVER_AVAILABLE_SDIO</a>)</td></tr>
<tr class="memdesc:gaaa024446105f87484845a4037f81d7da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the SDIO host driver is available for the current device. <br /></td></tr>
<tr class="separator:gaaa024446105f87484845a4037f81d7da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga67f98cb71269fc69d11f84092012e92f"><td class="memItemLeft" align="right" valign="top"><a id="ga67f98cb71269fc69d11f84092012e92f" name="ga67f98cb71269fc69d11f84092012e92f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_SDIO_DEV</b>&#160;&#160;&#160;(0)</td></tr>
<tr class="memdesc:ga67f98cb71269fc69d11f84092012e92f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the SDIO dev driver is available for the current device. <br /></td></tr>
<tr class="separator:ga67f98cb71269fc69d11f84092012e92f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5a2601a3ad02e25fcca8f9c4ff5179c9"><td class="memItemLeft" align="right" valign="top"><a id="ga5a2601a3ad02e25fcca8f9c4ff5179c9" name="ga5a2601a3ad02e25fcca8f9c4ff5179c9"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_NVM</b>&#160;&#160;&#160;(_CYHAL_DRIVER_AVAILABLE_NVM_FLASH || _CYHAL_DRIVER_AVAILABLE_NVM_RRAM || _CYHAL_DRIVER_AVAILABLE_NVM_OTP)</td></tr>
<tr class="memdesc:ga5a2601a3ad02e25fcca8f9c4ff5179c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the NVM driver is available for the current device. <br /></td></tr>
<tr class="separator:ga5a2601a3ad02e25fcca8f9c4ff5179c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga144cd0560450d7a2ba7cbd41004c9514"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__hal__impl__availability.html#ga144cd0560450d7a2ba7cbd41004c9514">CYHAL_DRIVER_AVAILABLE_FLASH</a>&#160;&#160;&#160;(_CYHAL_DRIVER_AVAILABLE_NVM_FLASH)     /* Deprecated */</td></tr>
<tr class="memdesc:ga144cd0560450d7a2ba7cbd41004c9514"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deprecated.  <a href="group__group__hal__impl__availability.html#ga144cd0560450d7a2ba7cbd41004c9514">More...</a><br /></td></tr>
<tr class="separator:ga144cd0560450d7a2ba7cbd41004c9514"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga086d627b651b34fa50e15badbb2108c9"><td class="memItemLeft" align="right" valign="top"><a id="ga086d627b651b34fa50e15badbb2108c9" name="ga086d627b651b34fa50e15badbb2108c9"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_SYSPM</b>&#160;&#160;&#160;(1)</td></tr>
<tr class="memdesc:ga086d627b651b34fa50e15badbb2108c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the SysPM driver is available for the current device. <br /></td></tr>
<tr class="separator:ga086d627b651b34fa50e15badbb2108c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa2d11bfc0756f86ab20e67b63440723a"><td class="memItemLeft" align="right" valign="top"><a id="gaa2d11bfc0756f86ab20e67b63440723a" name="gaa2d11bfc0756f86ab20e67b63440723a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_RTC</b>&#160;&#160;&#160;(((((CY_IP_MXS40SSRSS_INSTANCES) &gt; 0) || ((CY_IP_MXS40SRSS_INSTANCES) &gt; 0)) &amp;&amp; ((SRSS_BACKUP_PRESENT) &gt; 0)) || (((SRSS_RTC_PRESENT) &gt; 0) &amp;&amp; ((SRSS_NUM_HIBDATA) &gt; 0)))</td></tr>
<tr class="memdesc:gaa2d11bfc0756f86ab20e67b63440723a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the RTC driver is available for the current device. <br /></td></tr>
<tr class="separator:gaa2d11bfc0756f86ab20e67b63440723a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac065212a08722e9fe4d44bffd41296c7"><td class="memItemLeft" align="right" valign="top"><a id="gac065212a08722e9fe4d44bffd41296c7" name="gac065212a08722e9fe4d44bffd41296c7"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_COMP</b>&#160;&#160;&#160;((_CYHAL_DRIVER_AVAILABLE_COMP_LP) || (_CYHAL_DRIVER_AVAILABLE_COMP_CTB))</td></tr>
<tr class="memdesc:gac065212a08722e9fe4d44bffd41296c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the COMP driver is available for the current device. <br /></td></tr>
<tr class="separator:gac065212a08722e9fe4d44bffd41296c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga34ccfba8df596cb51121cd939f5dc8e7"><td class="memItemLeft" align="right" valign="top"><a id="ga34ccfba8df596cb51121cd939f5dc8e7" name="ga34ccfba8df596cb51121cd939f5dc8e7"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_CRC</b>&#160;&#160;&#160;(((CY_IP_MXCRYPTO_INSTANCES) &gt; 0) &amp;&amp; (CPUSS_CRYPTO_CRC))</td></tr>
<tr class="memdesc:ga34ccfba8df596cb51121cd939f5dc8e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the CRC driver is available for the current device. <br /></td></tr>
<tr class="separator:ga34ccfba8df596cb51121cd939f5dc8e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga11e5b6567243892d3b7ee5ea3d636923"><td class="memItemLeft" align="right" valign="top"><a id="ga11e5b6567243892d3b7ee5ea3d636923" name="ga11e5b6567243892d3b7ee5ea3d636923"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_DAC</b>&#160;&#160;&#160;(((CY_IP_MXS40PASS_INSTANCES) &gt; 0) &amp;&amp; ((CY_IP_MXS40PASS_CTDAC_INSTANCES) &gt; 0))</td></tr>
<tr class="memdesc:ga11e5b6567243892d3b7ee5ea3d636923"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the DAC driver is available for the current device. <br /></td></tr>
<tr class="separator:ga11e5b6567243892d3b7ee5ea3d636923"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9ffca2ce9483512e1965f9a3e44f5988"><td class="memItemLeft" align="right" valign="top"><a id="ga9ffca2ce9483512e1965f9a3e44f5988" name="ga9ffca2ce9483512e1965f9a3e44f5988"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_KEYSCAN</b>&#160;&#160;&#160;((CY_IP_MXKEYSCAN_INSTANCES) &gt; 0)</td></tr>
<tr class="memdesc:ga9ffca2ce9483512e1965f9a3e44f5988"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the KeyScan driver is available for the current device. <br /></td></tr>
<tr class="separator:ga9ffca2ce9483512e1965f9a3e44f5988"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7bbb16792ea84db0206beb498aa7e9df"><td class="memItemLeft" align="right" valign="top"><a id="ga7bbb16792ea84db0206beb498aa7e9df" name="ga7bbb16792ea84db0206beb498aa7e9df"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_OPAMP</b>&#160;&#160;&#160;(((CY_IP_MXS40PASS_INSTANCES) &gt; 0) &amp;&amp; ((CY_IP_MXS40PASS_CTB_INSTANCES) &gt; 0))</td></tr>
<tr class="memdesc:ga7bbb16792ea84db0206beb498aa7e9df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the OpAmp driver is available for the current device. <br /></td></tr>
<tr class="separator:ga7bbb16792ea84db0206beb498aa7e9df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7e9103a244e1554f48171d1c7474f037"><td class="memItemLeft" align="right" valign="top"><a id="ga7e9103a244e1554f48171d1c7474f037" name="ga7e9103a244e1554f48171d1c7474f037"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_PDMPCM</b>&#160;&#160;&#160;((((CY_IP_MXAUDIOSS_INSTANCES) &gt; 0) &amp;&amp; (AUDIOSS_PDM || AUDIOSS0_PDM || AUDIOSS0_PDM_PDM)) || ((CY_IP_MXPDM_INSTANCES) &gt; 0))</td></tr>
<tr class="memdesc:ga7e9103a244e1554f48171d1c7474f037"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the PDM/PCM driver is available for the current device. <br /></td></tr>
<tr class="separator:ga7e9103a244e1554f48171d1c7474f037"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga62fb3ca240efe27c10ffd8489ea18714"><td class="memItemLeft" align="right" valign="top"><a id="ga62fb3ca240efe27c10ffd8489ea18714" name="ga62fb3ca240efe27c10ffd8489ea18714"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_TRNG</b>&#160;&#160;&#160;((((CY_IP_MXCRYPTO_INSTANCES) &gt; 0) &amp;&amp; ((CPUSS_CRYPTO_TR) &gt; 0)) /*|| (((CY_IP_MXCRYPTOLITE_INSTANCES) &gt; 0) &amp;&amp; ((CRYPTO_TRNG_PRESENT) &gt; 0))*/)</td></tr>
<tr class="memdesc:ga62fb3ca240efe27c10ffd8489ea18714"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the TRNG driver is available for the current device. <br /></td></tr>
<tr class="separator:ga62fb3ca240efe27c10ffd8489ea18714"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga684b8b73042ae9142e14d4da5f22f427"><td class="memItemLeft" align="right" valign="top"><a id="ga684b8b73042ae9142e14d4da5f22f427" name="ga684b8b73042ae9142e14d4da5f22f427"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_USB_DEV</b>&#160;&#160;&#160;((CY_IP_MXUSBFS_INSTANCES) &gt; 0)</td></tr>
<tr class="memdesc:ga684b8b73042ae9142e14d4da5f22f427"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the USB Dev driver is available for the current device. <br /></td></tr>
<tr class="separator:ga684b8b73042ae9142e14d4da5f22f427"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab2f352b52c9ab8d8bf868c217611f89f"><td class="memItemLeft" align="right" valign="top"><a id="gab2f352b52c9ab8d8bf868c217611f89f" name="gab2f352b52c9ab8d8bf868c217611f89f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CYHAL_DRIVER_AVAILABLE_ADC</b>&#160;&#160;&#160;((_CYHAL_DRIVER_AVAILABLE_ADC_SAR) || (_CYHAL_DRIVER_AVAILABLE_ADC_MIC))</td></tr>
<tr class="memdesc:gab2f352b52c9ab8d8bf868c217611f89f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro specifying whether the ADC driver is available for the current device. <br /></td></tr>
<tr class="separator:gab2f352b52c9ab8d8bf868c217611f89f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="gafd2c6be6a2b5da41f85c8d08bc79c2ca" name="gafd2c6be6a2b5da41f85c8d08bc79c2ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafd2c6be6a2b5da41f85c8d08bc79c2ca">&#9670;&nbsp;</a></span>CYHAL_API_VERSION</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CYHAL_API_VERSION&#160;&#160;&#160;(2)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Macro specifying the major version number of the HAL API. </p>
<p >Since there are multiple HAL library implementations, this is not necessarily the same as the major version number of the library. It is instead intended as a single version number that can be used across implementation libraries to know what signatures to use in the case an API is updated in the future. Once an API is available, its API will remain consistant across libraries sharing the same version here. </p><dl class="section note"><dt>Note</dt><dd>Support for new drivers/functionality may be added without changing the version number, to check for whether a specific driver is available, the CYHAL_DRIVER_AVAILABLE_X macros defined in <a class="el" href="group__group__hal__availability.html">HAL Driver Availability</a> should be used. </dd></dl>

</div>
</div>
<a id="ga144cd0560450d7a2ba7cbd41004c9514" name="ga144cd0560450d7a2ba7cbd41004c9514"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga144cd0560450d7a2ba7cbd41004c9514">&#9670;&nbsp;</a></span>CYHAL_DRIVER_AVAILABLE_FLASH</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CYHAL_DRIVER_AVAILABLE_FLASH&#160;&#160;&#160;(_CYHAL_DRIVER_AVAILABLE_NVM_FLASH)     /* Deprecated */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Deprecated. </p>
<p >Macro specifying whether the NVM driver is available for the current device </p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part
<div id="nav-path" class="navpath">
    <ul>
        <li class="footer">
            Generated for <b>Hardware Abstraction Layer (HAL)</b> by <b>Cypress Semiconductor Corporation</b>.
            All rights reserved.
        </li>
    </ul>
</div>
-->
</body>
</html>
